#ifndef PROCESS_H
#define PROCESS_H

#include <vmm.h>
#include <thread.h>
#include <scheduler.h>

#define STSIZE 0x4000
#define STTOP 0xBFFFFF00

typedef struct process_st
{
	unsigned int pid;
	unsigned int ppid;
	page_directory_t *pd;
	thread *threads[256];
	unsigned int stack_top;
}process;

typedef struct process_list_st
{
	process *ps;
	struct process_list_st *next;
}process_list;



process *kernel_process;
process *current_process;

process_list *processes;

unsigned int next_pid;

#endif /* end of include guard: PROCESS_H */
